Interactive input systems are known, allowing users to inject input (e.g., digital ink, mouse events etc.) into an application program using an active pointer (e.g., a pointer that emits light, sound, or other signal), a passive pointer (e.g., a finger, cylinder or other suitable object) or other suitable input devices such as a mouse or trackball, are known. Such interactive input systems include but are not limited to: touch systems comprising touch panels employing analog resistive or machine vision technology to register pointer input such as those disclosed in U.S. Pat. Nos. 5,448,263; 6,141,000; 6,337,681; 6,747,636; 6,803,906; 7,232,986; 7,236,162; 7,274,356; and 7,532,206, all assigned to SMART Technologies ULC of Calgary, Alberta, Canada, assignee of the subject disclosure, the entire disclosures of which are incorporated herein by reference; touch systems comprising touch panels employing electromagnetic, capacitive, acoustic or other technologies to register pointer input; tablet; laptop computers; desktop computers; smartphones; personal digital assistants (PDAs) and other handheld devices; and other similar devices.
U.S. Pat. No. 6,803,906 to Morrison et al. discloses a touch system that employs machine vision to detect pointer interaction with a touch surface on which a computer-generated image is presented. A rectangular bezel or frame surrounds the touch surface and supports digital imaging devices at its corners. The digital imaging devices have overlapping fields of view that encompass and look generally across the touch surface. The digital imaging devices acquire images looking across the touch surface from different vantages and generate image data. Image data acquired by the digital imaging devices is processed by on-board digital signal processors to determine if a pointer exists in the captured image data. When it is determined that a pointer exists in the captured image data, the digital signal processors convey pointer characteristic data to a master controller, which in turn processes the pointer characteristic data to determine the location of the pointer in (x,y) coordinates relative to the touch surface using triangulation. The pointer coordinates are conveyed to a computer executing one or more application programs. The computer uses the pointer coordinates to update the computer-generated image that is presented on the touch surface. Pointer contacts on the touch surface can therefore be recorded as writing or drawing or used to control execution of application programs executed by the computer.
Multi-touch interactive input systems that receive and process input from multiple pointers using machine vision are also known. One such type of multi-touch interactive input system exploits the well-known optical phenomenon of frustrated total internal reflection (FTIR). According to the general principles of FTIR, light injected into an optical waveguide at an appropriate angle is completely reflected between the opposite surfaces of the waveguide (so called the total internal reflection (TIR) of light). When an object such as a pointer touches the waveguide surface, the index of refraction of the media adjacent the waveguide about the touch point is changed (due to the media changing from air to the pointer). Consequently, the TIR of light is frustrated at the touch point, causing some light to escape from the touch point. In such a multi-touch interactive input system, the machine vision system captures images including the point(s) of escaped light, and processes the images to identify the touch position(s) on the waveguide surface based on the point(s) of escaped light for use as input(s) to application programs.
Interactive input systems may be used by a single user or a plurality of users to collaboratively work thereon. For example, an interactive input system may provide a collaboration space such as a digital canvas for users to inject thereon various graphic objects such as digital ink, lines, shapes, images, text, animation, graphic representations of sounds and other types of multimedia content, and the like. A user may adjust the display of the interactive input system to different zoom levels as desired to improve readability or comprehension of the information.
Zoomable user interfaces have been considered. For example, Internet-based “online” map applications such as Google Maps™ offered by Google Inc. of Mountain View, Calif., USA, provide zoomable user interfaces to allow users to adjust the displayed maps to various levels of detail as desired.
U.S. Patent Publication No. 2013/0198653 assigned to SMART Technologies ULC of Calgary, Alberta, Canada, assignee of the subject disclosure, the content of which is incorporated herein by reference in its entirety, discloses a method of displaying input during a collaboration session, comprising providing a canvas for receiving input from at least one participant using a computing device joined to the collaboration session; and displaying the canvas at one of a plurality of discrete zoom levels on a display associated with the computing device.
A collaboration space may comprise a large number of graphic objects. Managing and displaying the graphic objects may then impose a significant computational cost to the interactive system.
One solution for reducing the computational cost of managing and displaying graphic objects in a collaboration space is to partition the collaboration space into a plurality of fixed-size blocks or “tiles”, and associate graphic objects with respective tiles based on the locations of the graphic objects. The content of each tile, including the graphic objects associated therewith, is stored separately, e.g., as a file.
For example, as shown in FIG. 1, a collaboration space 10 is partitioned in a known manner to a plurality of fixed-size, square tiles, each of which is associated with graphic objects whose geometry centers fall within. The content of each tile, including the graphic objects associated therewith, is stored as a file. For example, graphic object 16 is associated with tile 12 and stored in a first file, and graphic objects 18 to 28 are associated with tile 14 and stored in a second file.
When displaying the collaboration space, tiles comprising graphic objects that overlap with the viewport such as the display or a portion thereof, are determined and loaded to the memory of the interactive input system for rendering and display.
In the example of FIG. 1, a user (not shown) has zoomed-in the display of the collaboration space 10 such that the viewport 30 is to display a portion of the tile 12. The content of tile 12, including graphic object 16, is then loaded to the memory of the system for rendering and display. As graphic object 18 overlaps with the viewport 30, its associated tile, i.e., tile 14, is also loaded to the memory of the system for rendering and display. As a result, all graphic objects 18 to 28 associated with tile 14 are loaded. However, as graphic objects 20 to 28 do not overlap with the viewport 30, loading and processing them causes unnecessary computational cost to the system.
It is therefore an object to provide a novel method of partitioning, managing and displaying a collaboration space and an interactive input system employing the same.